#!/bin/bash

echo "开始部署流程..."

# 检查 Docker 网络是否存在，不存在则创建
echo "1. 检查 Docker 网络..."
if ! docker network inspect resume-network >/dev/null 2>&1; then
    echo "Docker 网络 resume-network 不存在，正在创建..."
    docker network create resume-network
else
    echo "Docker 网络 resume-network 已存在"
fi

# 拉取最新代码
echo "2. 拉取最新代码..."
git pull

# 重新构建镜像
echo "3. 重新构建前端镜像..."
docker build -t employee-resume-frontend -f frontend/Dockerfile .

echo "4. 重新构建后端镜像..."
docker build -t employee-resume-backend -f backend/Dockerfile .

# 停止并删除现有容器
echo "5. 停止并删除现有容器..."
docker stop employee-resume-frontend employee-resume-backend || true
docker rm employee-resume-frontend employee-resume-backend || true

# 启动新容器
echo "6. 启动新容器..."

# 启动后端容器
docker run -d \
  --name employee-resume-backend \
  --network resume-network \
  -p 5000:5000 \
  employee-resume-backend

# 启动前端容器
docker run -d \
  --name employee-resume-frontend \
  --network resume-network \
  -p 8080:80 \
  employee-resume-frontend

echo "7. 等待后端服务启动..."
sleep 10  # 等待后端服务完全启动

echo "8. 初始化数据库..."
curl http://localhost:5000/api/init-database
if [ $? -eq 0 ]; then
    echo "数据库初始化成功"
else
    echo "数据库初始化失败，请检查后端服务是否正常运行"
fi

echo "部署完成！"
echo "前端访问地址: http://localhost:8080"
echo "后端访问地址: http://localhost:5000"

# 输出容器日志
echo "9. 查看容器日志..."
echo "前端容器日志："
docker logs employee-resume-frontend
echo "后端容器日志："
docker logs employee-resume-backend 